/**
 * AluiCommons -  http://code.google.com/p/alui-toolbox/
 * Copyright (c) 2008-2009
 * by Fabien Sanglier
 * 
 * This file is part of AluiCommons.
 * 
 * AluiCommons is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * AluiCommons is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with AluiCommons.  If not, see <http://www.gnu.org/licenses/>.
 * 
 */

using System;
using com.plumtree.server;

namespace AluiServerLib.Business
{
	/// <summary>
	/// Summary description for Community.
	/// </summary>
    public class ALUICommunity : BaseALUIObject, IPTCommunity
	{
        IPTCommunity m_InternalObject = null;

        public ALUICommunity()
		{}

        public ALUICommunity(int objid)
        {
            this.objectid = objid;
        }

        public override IPTObject GetInternal()
        {
            return m_InternalObject;
        }

        public override void Inflate(IPTSession ptSession, bool lockObject)
        {
            if (this.objectid > 0)
            {
                IPTObjectManager ptCommManager = ptSession.GetCommunities();
                this.m_InternalObject = (IPTCommunity)ptCommManager.Open(this.objectid, lockObject);
            }
        }

        #region IPTCommunity Members

        public void AddMandatoryGroupMember(int nGroupID, int nMemberType)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public int AddPage(string strPageName, int nPageType, int nPageTemplateID, int nFromCommunityTemplate)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public int GetCommunityTemplateID()
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public int GetFooterID()
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public int GetHeaderID()
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public bool GetInheritCommunityTemplate()
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public int GetMandatoryTabOrder()
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public string GetOwnerInfo()
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public bool GetSiteMapDisabled()
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public IPTSiteMapFolder GetSiteMapRoot()
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public IPTMyPortal OpenPage(int nPageID)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public IPTQueryResult QueryMembers(int nMemberType)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public IPTQueryResult QuerySubcommunities()
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void RemoveMandatoryGroupMember(int nGroupID)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void RemovePage(int nPageID)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void ResetPageName(int nPageID, string strPageName)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void ResetPagePageTemplateID(int nPageID, int nPageTemplateID)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void ResetPageType(int nPageID, int nPageType)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void ResetPageURL(int nPageID, string strURL)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void SetCommunityTemplateID(int nCommunityTemplateID)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void SetFooterID(int nFooterID)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void SetHeaderID(int nHeaderID)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void SetInheritCommunityTemplate(bool bInheritCommunityTemplate)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void SetMandatoryTabOrder(int nMandatoryTabOrder)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void SetOwnerInfo(string strOwnerInfo)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void SetSiteMapDisabled(bool bValue)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        #endregion

        #region IPTPageContainer Members

        public void AssignPages(int nPageID)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void AssignPages(int[] arPageIDs)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public IPTPageInfo GetPage(int nPageID)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public IPTQueryResult QueryPages(int nPageID)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        #endregion

        #region IPTPreferencesContext Members

        public void AddPreference(string _strPreferenceName, object _oPreferenceValue, int _nPortletID, PT_PREF_TYPES _prefType)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void AddPreference(string _strPreferenceName, double _dPreferenceValue, int _nPortletID, PT_PREF_TYPES _prefType)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void AddPreference(string _strPreferenceName, com.plumtree.openfoundation.util.XPDateTime _xpdtPreferenceValue, int _nPortletID, PT_PREF_TYPES _prefType)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void AddPreference(string _strPreferenceName, string _strPreferenceValue, int _nPortletID, PT_PREF_TYPES _prefType)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void AddPreference(string _strPreferenceName, int _nPreferenceValue, int _nPortletID, PT_PREF_TYPES _prefType)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void AssignPreferences(object[][] _aoPreferenceNameValuePairs, bool _bDeleteOldPreferences, int _nPortletID, PT_PREF_TYPES _prefType)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public object[][] LookupPreference(string _strPreferenceName, int _nPortletID, PT_PREF_TYPES _prefType)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public object[][] LookupPreferences(string[] _astrPreferenceNames, int _nPortletID, PT_PREF_TYPES _prefType)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void RemovePreference(string _strPreferenceName, int _nPortletID, PT_PREF_TYPES _prefType)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public void RemovePreferences(string[] _astrPreferenceNames, int _nPortletID, PT_PREF_TYPES _prefType)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        #endregion
    }
}
